﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            /*  一个考试管理系统，需要录入考生成绩，只能录入数字，否则会报类型转换异常。
  请编写相关代码，
  1、捕获FormatException异常，并打印输出“异常已处理；
  2、捕获OverflowException异常，数值超出double范围的异常，并打印输出“异常已处理；
  3、捕获一般异常Exception异常。
  4、最终处理finally
  录入成绩结束后，请输出，总学生数，总分数，平均分。*/
            List<float> score = new List<float>();
            try
            {
                while (true)
                {
                    Console.WriteLine("请输入学生成绩  1、退出");
                    int key = int.Parse(Console.ReadLine());
                    if (key == 1)
                    {
                        break;
                    }
                    else
                    {
                        score.Add(key);
                    }
                }
            }
            catch (FormatException)
            {

                Console.WriteLine("异常已处理");
            }
            catch (OverflowException)
            {
                Console.WriteLine("异常已处理");
            }
            catch (Exception e) 
            {
                Console.WriteLine(e.Message);
            }
            finally
            {
                Console.WriteLine("处理好了");
            }
            if (score.Count < 1)
            {
                Console.WriteLine("没有学生成绩");
            }
            else
            {
                Console.WriteLine("学生人数："+score.Count);
                Console.WriteLine("学生总分数："+score.Sum());
                Console.WriteLine("学生平均分："+score.Average());
            }
        }
    }
}
